|
CryptoPro JCP Request. Public API. |
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectru.CryptoPro.JCPRequest.GostCertificateRequest
public class GostCertificateRequest
Класс GostCertificateRequest предназначен для работы с сертификатами и реализует следующие операции:
Структура запроса имеет следующий вид:
CertificationRequest ::= SEQUENCE {
certificationRequestInfo SEQUENCE {
version INTEGER,
subject Name,
subjectPublicKeyInfo SEQUENCE {
algorithm AlgorithmIdentifier,
subjectPublicKey BIT STRING },
attributes [0] IMPLICIT SET OF Attribute },
signatureAlgorithm AlgorithmIdentifier,
signature BIT STRING}
Для генерации запроса необходимо выполнить следующую последовательность
действий: Структура самоподписанного сертификата имеет следующий вид:
Certificate ::= SEQUENCE {
tbsCertificate TBSCertificate,
signatureAlgorithm AlgorithmIdentifier,
signature BIT STRING }
TBSCertificate ::= SEQUENCE {
version [0] Version DEFAULT v1,
serialNumber CertificateSerialNumber,
signature AlgorithmIdentifier,
issuer Name,
validity Validity,
subject Name,
subjectPublicKeyInfo SubjectPublicKeyInfo,
issuerUniqueID [1] IMPLICIT UniqueIdentifier OPTIONAL,
-- If present, version shall be v2 or v3
subjectUniqueID [2] IMPLICIT UniqueIdentifier OPTIONAL,
-- If present, version shall be v2 or v3
extensions [3] Extensions OPTIONAL
-- If present, version shall be v3 -- }
Version ::= INTEGER { v1(0), v2(1), v3(2) }
CertificateSerialNumber ::= INTEGER
Validity ::= SEQUENCE {
notBefore Time,
notAfter Time }
Time ::= CHOICE {
utcTime UTCTime,
generalTime GeneralizedTime }
UniqueIdentifier ::= BIT STRING
SubjectPublicKeyInfo ::= SEQUENCE {
algorithm AlgorithmIdentifier,
subjectPublicKey BIT STRING }
Extensions ::= SEQUENCE SIZE (1..MAX) OF Extension
Extension ::= SEQUENCE {
extnID OBJECT IDENTIFIER,
critical BOOLEAN DEFAULT FALSE,
extnValue OCTET STRING }
Генерация самопописанного сертификата осуществляется статическим методом
getEncodedSelfCert(PrivateKey, PublicKey, String), получающим ключевую
пару и имя субъекта (оно же имя издателя) в качестве параметров, и
возвращающим закодированный в DER-кодировке самоподписанный сертификат.
Оправка подписанного запроса и получение закодированного сертификата
производится одним из следующих методов:
| Field Summary | |
|---|---|
static java.lang.String |
ADDRESS_SHOULD_BE_HTTP
|
static java.lang.String |
BEGIN_STRING
Стандартная строка начала запроса. |
static java.lang.String |
DEFAULT_SIGN_ALGORITHM
todo |
static java.lang.String |
END_STRING
Стандартная строка окончания запроса. |
static java.lang.String |
UNKNOWN_KEY_ALGORITHM
|
| Fields inherited from interface ru.CryptoPro.JCPRequest.KeyUsage |
|---|
BIT_CRL_SIGN, BIT_DATA_ENCIPHERMENT, BIT_DECIPHER_ONLY, BIT_DIGITAL_SIGNATURE, BIT_ENCIPHER_ONLY, BIT_KEY_AGREEMENT, BIT_KEY_CERT_SIGN, BIT_KEY_ENCIPHERMENT, BIT_NON_REPUDIATION, CENTER_DEFAULT, CRL_SIGN, CRYPT_DEFAULT, DATA_ENCIPHERMENT, DECIPHER_ONLY, DIGITAL_SIGNATURE, ENCIPHER_ONLY, INTS_PKIX_CLIENT_AUTH, INTS_PKIX_CODE_SIGNING, INTS_PKIX_EMAIL_PROTECTION, INTS_PKIX_IPSEC_END_SYSTEM, INTS_PKIX_IPSEC_TUNNEL, INTS_PKIX_IPSEC_USER, INTS_PKIX_OCSP_SIGNING, INTS_PKIX_SERVER_AUTH, INTS_PKIX_TIME_STAMPING, KEY_AGREEMENT, KEY_CERT_SIGN, KEY_ENCIPHERMENT, NON_REPUDIATION, NOT_SET, SIGN_DEFAULT, STR_OID_PKIX_CLIENT_AUTH, STR_OID_PKIX_CODE_SIGNING, STR_OID_PKIX_EMAIL_PROTECTION, STR_OID_PKIX_IPSEC_END_SYSTEM, STR_OID_PKIX_IPSEC_TUNNEL, STR_OID_PKIX_IPSEC_USER, STR_OID_PKIX_OCSP_SIGNING, STR_OID_PKIX_SERVER_AUTH, STR_OID_PKIX_TIME_STAMPING |
| Constructor Summary | |
|---|---|
GostCertificateRequest()
Создание нового объекта генерации запроса на сертификат. |
|
GostCertificateRequest(java.lang.String provName)
Создание нового объекта генерации запроса на сертификат, с уточнением провайдера. |
|
| Method Summary | |
|---|---|
void |
addExtension(ru.CryptoPro.JCP.ASN.PKIX1Explicit88.Extension e)
Добавление расширения к списку. |
void |
addExtKeyUsage(int[] ints)
add Extended KeyUsage to list. |
void |
addExtKeyUsage(ru.CryptoPro.JCP.params.OID oid)
add Extended KeyUsage to list. |
void |
addExtKeyUsage(java.lang.String str)
add Extended KeyUsage to list. |
void |
clearExtKeyUsage()
clear all Extended KeyUsage. |
void |
clearExtList()
Очистка всех расширений из списка. |
static ru.CryptoPro.JCP.ASN.PKIX1Explicit88.Extension |
createBasic()
|
static ru.CryptoPro.JCP.ASN.PKIX1Explicit88.Extension |
createExtUsage(java.util.Vector list)
|
static java.util.BitSet |
createKeyUsageBitSet(int mask)
Если пользователь снаружи установил keyUsage, он и используется, иначе используется keyUsage по умолчанию. |
static ru.CryptoPro.JCP.ASN.PKIXCMP.CertificationRequest |
createRequest()
Создает объект request. |
static ru.CryptoPro.JCP.ASN.PKIX1Explicit88.Extension |
createUsage(int mask)
|
void |
encodeAndSign(java.security.PrivateKey privateKey)
Кодирование в DER-кодировку и подпись сертификата. |
void |
encodeAndSign(java.security.PrivateKey privateKey,
java.lang.String algorithm)
Кодирование в DER-кодировку и подпись сертификата. |
void |
encodeAndSignOLD(java.security.PrivateKey privateKey,
java.lang.String algorithm)
Кодирование в DER-кодировку и подпись сертификата. |
static ru.CryptoPro.JCP.ASN.CertificateExtensions._extKeyUsage_ExtnType |
formExtKeyUsage(java.util.Vector list)
helper. |
byte[] |
generateCert(java.security.PrivateKey privKey,
java.security.PublicKey pubKey,
java.lang.String subject,
java.lang.String issuer)
Генерация сертификата открытого ключа субъекта с именем subject, подписанного закрытым ключом издателя issuer. |
byte[] |
generateCert(java.security.PrivateKey privKey,
java.security.PublicKey pubKey,
java.lang.String subject,
java.lang.String issuer,
java.lang.String algorithm)
Генерация сертификата открытого ключа субъекта с именем subject, подписанного закрытым ключом издателя issuer. |
byte[] |
getEncoded()
Получение подписанного и закодирванного в DER-кодировке запроса. |
byte[] |
getEncodedCert(java.lang.String httpAddress)
Отправка подписанного запроса центру сертификации и получение соответствующего запросу сертификата. |
static byte[] |
getEncodedCertFromBASE64(java.lang.String httpAddress,
java.io.InputStream req)
Отправка запроса в кодировке BASE64 центру сертификации и получение соответствующего запросу сертификата. |
static byte[] |
getEncodedCertFromDER(java.lang.String httpAddress,
java.io.InputStream req)
Отправка запроса в DER-кодировке центру сертификации и получение соответствующего запросу сертификата. |
static byte[] |
getEncodedRootCert(java.lang.String httpAddress)
Получение корневого сертификата центра сертификации. |
byte[] |
getEncodedSelfCert(java.security.KeyPair keyPair,
java.lang.String name)
Генерация самоподписанного сертификата. |
byte[] |
getEncodedSelfCert(java.security.KeyPair keyPair,
java.lang.String name,
java.lang.String algorithm)
Генерация самоподписанного сертификата. |
static int |
getId(java.lang.String page)
Поиск идентификатора запроса, чтобы по нему скачать сертификат. |
void |
init(java.lang.String keyAlgName)
Deprecated. с версии 1.0.48 вместо init() лучше использовать setKeyUsage() и addExtKeyUsage() |
void |
init(java.lang.String keyAlgName,
boolean isServer)
Deprecated. с версии 1.0.48 вместо init() лучше использовать setKeyUsage() и addExtKeyUsage() |
void |
initOLD(java.lang.String keyAlgName,
boolean isServer)
Deprecated. с версии 1.0.48 вместо init() лучше использовать setKeyUsage() и addExtKeyUsage() |
static boolean |
isEquals(com.objsys.asn1j.runtime.Asn1ObjectIdentifier a,
com.objsys.asn1j.runtime.Asn1ObjectIdentifier b)
compare OIDs |
int |
lengthExtKeyUsage()
|
int |
lengthExtList()
Получение длины списка расширений. |
void |
printToBASE64(java.io.PrintStream out)
Печать подписанного запроса в BASE64-кодировке в передаваемый PrintStream. |
void |
printToDER(java.io.PrintStream out)
Печать подписанного запроса в DER-кодировке в передаваемый PrintStream. |
void |
removeExtension(ru.CryptoPro.JCP.ASN.PKIX1Explicit88.Extension e)
Удаление расширения из списку. |
void |
removeExtKeyUsage(int[] ints)
remove Extended KeyUsage from list. |
void |
removeExtKeyUsage(ru.CryptoPro.JCP.params.OID oid)
remove Extended KeyUsage from list. |
void |
removeExtKeyUsage(java.lang.String str)
remove Extended KeyUsage from list. |
void |
reset()
|
void |
setKeyUsage(int i)
set keyUsage. |
static void |
setPublic2Request(ru.CryptoPro.JCP.ASN.PKIXCMP.CertificationRequest req,
ru.CryptoPro.JCP.ASN.PKIX1Explicit88.SubjectPublicKeyInfo keyInfo)
store saved public key info to request. |
void |
setPublicKeyInfo(java.security.PublicKey publicKey)
Кодирование и запись в структуру запроса параметров и значения передаваемого открытого ключа субъекта. |
void |
setPublicKeyInfoOLD(java.security.PublicKey publicKey)
Кодирование и запись в структуру запроса параметров и значения передаваемого открытого ключа субъекта. |
static void |
setSign2Request(ru.CryptoPro.JCP.ASN.PKIXCMP.CertificationRequest req,
byte[] signature)
store signature to request. |
static void |
setSubject2Request(ru.CryptoPro.JCP.ASN.PKIXCMP.CertificationRequest req,
ru.CryptoPro.JCP.ASN.PKIX1Explicit88.RDNSequence name)
store saved X500 name to request. |
void |
setSubjectInfo(java.lang.String name)
Кодирование и запись в структуру запроса имени субъекта. |
void |
setSubjectInfoOLD(java.lang.String name)
Кодирование и запись в структуру запроса имени субъекта. |
static byte[] |
sign(java.security.PrivateKey privateKey,
byte[] data,
java.lang.String algorithm,
java.lang.String provider)
Создание подписи закодированного запроса. |
| Methods inherited from class java.lang.Object |
|---|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
public static final java.lang.String DEFAULT_SIGN_ALGORITHM
public static final java.lang.String ADDRESS_SHOULD_BE_HTTP
public static final java.lang.String UNKNOWN_KEY_ALGORITHM
public static final java.lang.String BEGIN_STRING
public static final java.lang.String END_STRING
| Constructor Detail |
|---|
public GostCertificateRequest()
throws java.io.IOException
java.io.IOException - ошибка инициализации
public GostCertificateRequest(java.lang.String provName)
throws java.io.IOException
provName - Имя провайдера.
java.io.IOException - ошибка инициализации| Method Detail |
|---|
public void setPublicKeyInfoOLD(java.security.PublicKey publicKey)
throws java.io.IOException,
java.security.SignatureException
publicKey - открытый ключ субъекта (ключ должен соответствовать
закрытому ключу подписи или обмена алгоритма ГОСТ Р 34.10-2001).
java.io.IOException - исключение возникает в случае ошибки при кодировании
открытого ключа (возможно, ключ поврежден).
java.security.SignatureException - if encoded == null
public void setPublicKeyInfo(java.security.PublicKey publicKey)
throws java.io.IOException,
java.security.SignatureException
publicKey - открытый ключ субъекта (ключ должен соответствовать
закрытому ключу подписи или обмена алгоритма ГОСТ Р 34.10-2001).
java.io.IOException - исключение возникает в случае ошибки при кодировании
открытого ключа (возможно, ключ поврежден).
java.security.SignatureException - if encoded == null
public void setSubjectInfoOLD(java.lang.String name)
throws java.io.IOException,
java.security.SignatureException
name - имя субъекта в виде строки, соответвующей стандарту X.500
(например, "CN=Ivanov, OU=Security, O=CryptoPro, C=RU").
java.io.IOException - исключение возникает в случае ошибки при кодировании
имени субъекта (возможно, строковое представление имени не соответвует
стандарту X.500).
java.security.SignatureException - if encoded == nullX500Principal
public void setSubjectInfo(java.lang.String name)
throws java.io.IOException,
java.security.SignatureException
name - имя субъекта в виде строки, соответвующей стандарту X.500
(например, "CN=Ivanov, OU=Security, O=CryptoPro, C=RU").
java.io.IOException - исключение возникает в случае ошибки при кодировании
имени субъекта (возможно, строковое представление имени не соответвует
стандарту X.500).
java.security.SignatureException - if encoded == nullX500Principalpublic void setKeyUsage(int i)
i - keyUsage maskpublic void clearExtKeyUsage()
public int lengthExtKeyUsage()
public void removeExtKeyUsage(int[] ints)
ints - attribute to removepublic void removeExtKeyUsage(ru.CryptoPro.JCP.params.OID oid)
oid - attribute to removepublic void removeExtKeyUsage(java.lang.String str)
str - attribute to removepublic void addExtKeyUsage(int[] ints)
ints - attributepublic void addExtKeyUsage(java.lang.String str)
str - attributepublic void addExtKeyUsage(ru.CryptoPro.JCP.params.OID oid)
oid - attribute
public static boolean isEquals(com.objsys.asn1j.runtime.Asn1ObjectIdentifier a,
com.objsys.asn1j.runtime.Asn1ObjectIdentifier b)
a - first OID to compareb - second OID to compare
public void clearExtList()
public int lengthExtList()
public void addExtension(ru.CryptoPro.JCP.ASN.PKIX1Explicit88.Extension e)
e - расширениеpublic void removeExtension(ru.CryptoPro.JCP.ASN.PKIX1Explicit88.Extension e)
e - расширение
public void encodeAndSign(java.security.PrivateKey privateKey)
throws java.security.SignatureException,
java.io.IOException,
java.security.InvalidKeyException,
java.security.NoSuchAlgorithmException,
java.security.NoSuchProviderException
privateKey - закрытый ключ субъекта, на котором осуществляется подпись
запроса (ключ должен являться закрытым ключом подписи или обмена алгоритма
ГОСТ Р 34.10-2001).
java.security.SignatureException - исключение возникает в случае, когда запрос уже
был подписан, либо возникла проблема с созданием подписи.
java.io.IOException - исключение возникает в случае ошибки при кодировании
запроса (например, когда объекту генерации запроса не были переданы параметры
открытого ключа, либо имя субъекта).
java.security.InvalidKeyException - исключение возникает в случае, когда закрытый
ключ не является ключом обмена или подписи алгоритма ГОСТ Р 34.10-2001.
java.security.NoSuchAlgorithmException - неверное имя алгоритма в privateKey
java.security.NoSuchProviderException
public void encodeAndSignOLD(java.security.PrivateKey privateKey,
java.lang.String algorithm)
throws java.security.SignatureException,
java.io.IOException,
java.security.InvalidKeyException,
java.security.NoSuchAlgorithmException,
java.security.NoSuchProviderException
privateKey - закрытый ключ субъекта, на котором осуществляется подпись
запросаalgorithm - имя алгоритма подписи. Если null то
"GOST3411withGOST3410EL"
java.security.SignatureException - исключение возникает в случае, когда запрос уже
был подписан, либо возникла проблема с созданием подписи.
java.io.IOException - исключение возникает в случае ошибки при кодировании
запроса (например, когда объекту генерации запроса не были переданы параметры
открытого ключа, либо имя субъекта).
java.security.InvalidKeyException - исключение возникает в случае, когда закрытый
ключ не является ключом обмена или подписи алгоритма ГОСТ Р 34.10-2001.
java.security.NoSuchAlgorithmException - неверное имя алгоритма в privateKey
java.security.NoSuchProviderException
public void encodeAndSign(java.security.PrivateKey privateKey,
java.lang.String algorithm)
throws java.security.SignatureException,
java.io.IOException,
java.security.InvalidKeyException,
java.security.NoSuchAlgorithmException,
java.security.NoSuchProviderException
privateKey - закрытый ключ субъекта, на котором осуществляется подпись
запросаalgorithm - имя алгоритма подписи. Если null то
"GOST3411withGOST3410EL"
java.security.SignatureException - исключение возникает в случае, когда запрос уже
был подписан, либо возникла проблема с созданием подписи.
java.io.IOException - исключение возникает в случае ошибки при кодировании
запроса (например, когда объекту генерации запроса не были переданы параметры
открытого ключа, либо имя субъекта).
java.security.InvalidKeyException - исключение возникает в случае, когда закрытый
ключ не является ключом обмена или подписи алгоритма ГОСТ Р 34.10-2001.
java.security.NoSuchAlgorithmException - неверное имя алгоритма в privateKey
java.security.NoSuchProviderException
public void init(java.lang.String keyAlgName)
throws java.io.IOException
keyAlgName - строкое представление алгоритма закрытого ключа,
соответствующего открытому
java.io.IOException - ошибка инициализации.
public void initOLD(java.lang.String keyAlgName,
boolean isServer)
throws java.io.IOException
keyAlgName - строкое представление алгоритма закрытого ключа,
соответствующего открытомуisServer - если true, то будет создан сертификат аутентификации сервера,
иначе - клиента
java.io.IOException - ошибка инициализации.
public void init(java.lang.String keyAlgName,
boolean isServer)
throws java.io.IOException
keyAlgName - строкое представление алгоритма закрытого ключа,
соответствующего открытомуisServer - если true, то будет создан сертификат аутентификации сервера,
иначе - клиента
java.io.IOException - ошибка инициализации.public byte[] getEncoded()
public void printToBASE64(java.io.PrintStream out)
throws java.io.IOException,
java.security.SignatureException
out - выходной поток, в который записывается подписанный запрос.
java.io.IOException - исключение возникает в случае ошибки при кодировании в
BASE-64 кодировку подписанного запроса, либо при ошибке записи в поток.
java.security.SignatureException - исключение возникает в том случае, когда запрос
еще не был подписан.
public void printToDER(java.io.PrintStream out)
throws java.io.IOException,
java.security.SignatureException
out - выходной поток, в который записывается подписанный запрос.
java.io.IOException - исключение возникает в случае ошибки записи в поток.
java.security.SignatureException - исключение возникает в том случае, когда запрос
еще не был подписан.
public static byte[] getEncodedRootCert(java.lang.String httpAddress)
throws java.io.IOException
httpAddress - http-адрес центра сертификации (например,
"http://www.cryptopro.ru/certsrv/")
java.io.IOException - исключение возникает в случае ошибки при создании
соединения с сервером (например, если соединение не является
http-соединением).
public byte[] getEncodedCert(java.lang.String httpAddress)
throws java.security.SignatureException,
java.io.IOException
httpAddress - http-адрес центра сертификации (например,
"http://www.cryptopro.ru/certsrv/")
java.security.SignatureException - исключение возникает в случае, когда передаваемый
центру запрос не был подписан.
java.io.IOException - исключение возникает в случае ошибки при создании
соединения с сервером (например, если соединение не является
http-соединением).
public static byte[] getEncodedCertFromBASE64(java.lang.String httpAddress,
java.io.InputStream req)
throws java.io.IOException
httpAddress - http-адрес центра сертификации (например,
"http://www.cryptopro.ru/certsrv/")req - входной поток, в котором содержится закодированный в BASE64
запрос.
java.io.IOException - исключение возникает в случае ошибки при создании
соединения с сервером (например, если соединение не является
http-соединением).
public static byte[] getEncodedCertFromDER(java.lang.String httpAddress,
java.io.InputStream req)
throws java.io.IOException
httpAddress - http-адрес центра сертификации (например,
"http://www.cryptopro.ru/certsrv/")req - входной поток, в котором содержится закодированный в DER запрос.
java.io.IOException - исключение возникает в случае ошибки при создании
соединения с сервером (например, если соединение не является
http-соединением).
public static int getId(java.lang.String page)
throws java.io.IOException
page - страница ответа сервера
java.io.IOException - не нашли :(
public byte[] getEncodedSelfCert(java.security.KeyPair keyPair,
java.lang.String name)
throws java.security.InvalidKeyException,
java.io.IOException,
java.security.SignatureException,
java.security.NoSuchAlgorithmException,
java.security.NoSuchProviderException
keyPair - ключевая пара субъекта (она же издателя).name - имя субъекта (оно же имя издателя) в виде строки, соответвующей
стандарту X.500 (например, "CN=Ivanov, OU=Security, O=CryptoPro, C=RU").
java.io.IOException - исключение возникает в случае ошибки при кодировании
имени субъекта (возможно, строковое представление имени не соответвует
стандарту X.500).
java.security.InvalidKeyException - исключение возникает в случае, когда открытый
ключ не соответствует закрытому ключу подписи или обмена алгоритма ГОСТ Р
34.10-2001.
java.security.SignatureException - исключение возникает в случае ошибки при создании
подписи.
java.security.NoSuchAlgorithmException - неверное имя алгоритма в keyPair
java.security.NoSuchProviderException
public byte[] getEncodedSelfCert(java.security.KeyPair keyPair,
java.lang.String name,
java.lang.String algorithm)
throws java.security.InvalidKeyException,
java.io.IOException,
java.security.SignatureException,
java.security.NoSuchAlgorithmException,
java.security.NoSuchProviderException
keyPair - ключевая пара субъекта (она же издателя).name - имя субъекта (оно же имя издателя) в виде строки, соответвующей
стандарту X.500 (например, "CN=Ivanov, OU=Security, O=CryptoPro, C=RU").algorithm - алгоритм подписи.
java.io.IOException - исключение возникает в случае ошибки при кодировании
имени субъекта (возможно, строковое представление имени не соответвует
стандарту X.500).
java.security.InvalidKeyException - исключение возникает в случае, когда открытый
ключ не соответствует закрытому ключу подписи или обмена алгоритма ГОСТ Р
34.10-2001.
java.security.SignatureException - исключение возникает в случае ошибки при создании
подписи.
java.security.NoSuchAlgorithmException - неверное имя алгоритма в keyPair
java.security.NoSuchProviderException
public byte[] generateCert(java.security.PrivateKey privKey,
java.security.PublicKey pubKey,
java.lang.String subject,
java.lang.String issuer)
throws java.security.InvalidKeyException,
java.io.IOException,
java.security.SignatureException,
java.security.NoSuchAlgorithmException,
java.security.NoSuchProviderException
privKey - закрытый ключ издателя, на котором осуществляется подпись
сертификата (ключ должен являться закрытым ключом подписи или обмена
алгоритма ГОСТ Р 34.10-2001).pubKey - открытый ключ субъекта, для которого генерится сертификат (ключ
должен соответствовать закрытому ключу подписи или обмена алгоритма ГОСТ Р
34.10-2001).subject - имя субъекта в виде строки, соответвующей стандарту X.500
(например, "CN=Ivanov, OU=Security, O=CryptoPro, C=RU").issuer - имя издателя в виде строки, соответвующей стандарту X.500
(например, "CN=Ivanov, OU=Security, O=CryptoPro, C=RU").
java.io.IOException - исключение возникает в случае ошибки при кодировании
имени субъекта (возможно, строковое представление имени не соответвует
стандарту X.500).
java.security.InvalidKeyException - исключение возникает в случае, когда открытый
ключ не соответствует закрытому ключу подписи или обмена алгоритма ГОСТ Р
34.10-2001.
java.security.SignatureException - исключение возникает в случае ошибки при создании
подписи.
java.security.NoSuchAlgorithmException - неверное имя алгоритма в privKey
java.security.NoSuchProviderException
public byte[] generateCert(java.security.PrivateKey privKey,
java.security.PublicKey pubKey,
java.lang.String subject,
java.lang.String issuer,
java.lang.String algorithm)
throws java.security.InvalidKeyException,
java.io.IOException,
java.security.SignatureException,
java.security.NoSuchAlgorithmException,
java.security.NoSuchProviderException
privKey - закрытый ключ издателя, на котором осуществляется подпись
сертификата (ключ должен являться закрытым ключом подписи или обмена
алгоритма ГОСТ Р 34.10-2001).pubKey - открытый ключ субъекта, для которого генерится сертификат (ключ
должен соответствовать закрытому ключу подписи или обмена алгоритма ГОСТ Р
34.10-2001).subject - имя субъекта в виде строки, соответвующей стандарту X.500
(например, "CN=Ivanov, OU=Security, O=CryptoPro, C=RU").issuer - имя издателя в виде строки, соответвующей стандарту X.500
(например, "CN=Ivanov, OU=Security, O=CryptoPro, C=RU").algorithm - имя алгоритма подписи. Если null то
"GOST3411withGOST3410EL"
java.io.IOException - исключение возникает в случае ошибки при кодировании
имени субъекта (возможно, строковое представление имени не соответвует
стандарту X.500).
java.security.InvalidKeyException - исключение возникает в случае, когда открытый
ключ не соответствует закрытому ключу подписи или обмена алгоритма ГОСТ Р
34.10-2001.
java.security.SignatureException - исключение возникает в случае ошибки при создании
подписи.
java.security.NoSuchAlgorithmException - неверное имя алгоритма в privKey
java.security.NoSuchProviderExceptionpublic void reset()
public static byte[] sign(java.security.PrivateKey privateKey,
byte[] data,
java.lang.String algorithm,
java.lang.String provider)
throws java.security.NoSuchAlgorithmException,
java.security.InvalidKeyException,
java.security.SignatureException,
java.security.NoSuchProviderException
privateKey - закрытый ключ.data - запросalgorithm - алгоритм подписи
java.security.InvalidKeyException - неверный тип ключа
java.security.SignatureException - ошибка создания подписи
java.security.NoSuchAlgorithmException - неверное имя алгоритма в privateKey
java.security.NoSuchProviderExceptionpublic static ru.CryptoPro.JCP.ASN.PKIXCMP.CertificationRequest createRequest()
public static void setPublic2Request(ru.CryptoPro.JCP.ASN.PKIXCMP.CertificationRequest req,
ru.CryptoPro.JCP.ASN.PKIX1Explicit88.SubjectPublicKeyInfo keyInfo)
keyInfo - public key inforeq - request to set in
public static void setSubject2Request(ru.CryptoPro.JCP.ASN.PKIXCMP.CertificationRequest req,
ru.CryptoPro.JCP.ASN.PKIX1Explicit88.RDNSequence name)
name - X500 namereq - request to set in
public static void setSign2Request(ru.CryptoPro.JCP.ASN.PKIXCMP.CertificationRequest req,
byte[] signature)
signature - signaturereq - request to set in
public static ru.CryptoPro.JCP.ASN.PKIX1Explicit88.Extension createUsage(int mask)
throws java.io.IOException
java.io.IOExceptionpublic static java.util.BitSet createKeyUsageBitSet(int mask)
mask - маска флагов в который устанавливается keyUsage
public static ru.CryptoPro.JCP.ASN.PKIX1Explicit88.Extension createExtUsage(java.util.Vector list)
throws java.io.IOException
java.io.IOExceptionpublic static ru.CryptoPro.JCP.ASN.CertificateExtensions._extKeyUsage_ExtnType formExtKeyUsage(java.util.Vector list)
list - list to copy attributes from
public static ru.CryptoPro.JCP.ASN.PKIX1Explicit88.Extension createBasic()
throws java.io.IOException
java.io.IOException
|
Copyright Crypto-Pro. All rights reserved. |
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||